Conventional virtual reality systems use computers and peripheral devices to enable users to perceive and interact with computer generated worlds. In a typical virtual reality system, a user wears garments outfitted with devices which provide information about the position and orientation of the user relative to a fixed reference point. The information is used by the computer system to create a virtual being, where the virtual being emulates the position, orientation, and movements of the user. The database also includes a virtual environment in which the virtual being exists, and the virtual being may act upon virtual objects in the virtual world in a manner which emulates the actions of the user. For example, the virtual being may pick up a virtual ball and throw it, or the virtual being may drive a virtual car.
To allow the user to perceive the virtual world and the actions his or her virtual being within it, the computer animates the virtual world together with the virtual being and projects the virtual world from the viewpoint of the virtual being on a head mounted display. As the user moves around, his or her actions are sensed by the instrumented garment and used by the computer to alter the position and orientation of the virtual being within the virtual world. The displayed image is also modified to follow the viewpoint of the virtual being so that the user is led to believe he or she actually exists in the virtual world. Thus, a user may lower his or her head and look underneath a virtual object, or the user may walk over to a virtual light switch and, by appropriate movements of the user's hand, turn the switch on and off.
Presently, the availability of virtual reality services is limited to fixed and non-real-time phenomena such as entertainment machines and flight simulators. In conventional virtual reality systems, the “environment” that a person experiences is manufactured and contained in computer memory. For instance, flight simulators used for training professional pilots and astronauts are a type of virtual reality system commonly in use today, where computer animation is used to create the user environment. Although most user interactive, three dimensional virtual reality systems use computer graphics to model an environment, some limited fixed real-time services requiring low data transmission rate, such as video conferencing and net-meetings, are also offered in which a user can view a real-life environment rather than a computer generated one. Unfortunately, these services do not allow three-dimensional user-controlled involvement of the remote environment and are generally limited to viewing images on a television screen rather than viewing a three dimensional representation of a remote real-life environment. However, the applications for “virtual reality” will continue to grow and are anticipated as being increasingly common to remotely model and allow participation in an environment. For instance, in the future doctors will be able to participate in medical procedures although located geographically distant from the patient, and businesses will be able to conduct a conference session depicting, to every participant, the presence of others in a virtual conference.
There are a few major obstacles and bottlenecks to the achievement of such an ambitious goal, including the creation of Virtual Reality Environment (VRE) capable user terminal equipment, high speed data transmission over, and controlling network elements for initiating, establishing, maintaining and terminating VRE events. Because high speed data transmission networks and user terminal equipment exist and are continuously being improved, what is needed is a controlling network containing elements to implement the real-time virtual reality environment. The development of the software platform for the control and management of VRE services is considered to be a major challenge for each VRE application in terms of its control logic and its application programming interface (API).